package com.developer.web.content.privatepage.partidos;

import java.util.List;
import java.util.Map;

import javax.servlet.http.HttpServletRequest;

import com.developer.core.page.PrivatePage;
import com.developer.core.utils.ObjectToXML;
import com.developer.logic.modulo.autenticacion.AutenticacionServicio;
import com.developer.logic.modulo.autenticacion.SessionAppUsuario;
import com.developer.logic.modulo.general.ParametrizacionServicio;
import com.developer.logic.modulo.general.dto.Sede;
import com.developer.logic.modulo.grupos.GrupoServicio;
import com.developer.logic.modulo.grupos.dto.Fase;
import com.developer.logic.modulo.grupos.dto.Grupo;
import com.developer.logic.modulo.partidos.PartidoServicio;
import com.developer.logic.modulo.partidos.dto.Partido;

public class PageProgramarPartidos_1 extends PrivatePage{
	
	String nextPage="partidos/PageProgramarPartidos_2.do";
	
	public StringBuffer executeAction(HttpServletRequest request) {
		
		StringBuffer xmlPage = new StringBuffer();
		ObjectToXML objectToXML = ObjectToXML.getInstance();
		
		//Session de aplicacion 
		SessionAppUsuario sessionAppUsuario = AutenticacionServicio.getInstance().getSessionAppUsuario(request);
		
		if(sessionAppUsuario!=null){
		
		
			Map<String, Object> parameters = getParameters(request, true);
			List<Partido> partidos = (List)getParameterToObject("Partidos", List.class, Partido.class, parameters);
			
			Boolean sinErrores = true;
			StringBuffer mensajeError = new StringBuffer();
			
			if(partidos!=null && partidos.size()>0){
				
				sinErrores = PartidoServicio.getInstance().programarPartidosTransaccional(partidos, mensajeError);
				
				if(sinErrores){
					sessionAppUsuario.getHttpSession().setAttribute("var.partidosProgramados", partidos);
					
				}else{
					this.nextPage= this.nextPage+"?error=1";
					sessionAppUsuario.getHttpSession().removeAttribute("var.error");
					sessionAppUsuario.getHttpSession().setAttribute("var.error", mensajeError.toString());
				}
			}else{
				
				this.nextPage= this.nextPage+"?error=1";
				sessionAppUsuario.getHttpSession().removeAttribute("var.error");
				sessionAppUsuario.getHttpSession().setAttribute("var.error", mensajeError.toString());
			}
		
		}else{

			xmlPage.append("<error>1</error>");
			xmlPage.append(objectToXML.getXML(new String("Usuario invalido. Por favor inicie session correctamente")));
			
		}	
		
		return xmlPage;
	}

	@Override
	public String getNextPage() {
		// TODO Auto-generated method stub
		return nextPage;
	}

	@Override
	public boolean isAccesoValido(HttpServletRequest arg0) {
		return AutenticacionServicio.getInstance().isAccesoPrivadoValido(arg0);
	}
	

}
